Historically, engineers and scientists have utilized graphical models in numerous scientific areas such as Feedback Control Theory and Signal Processing to study, design, debug, and refine dynamic systems. Dynamic systems, which are characterized by the fact that their behaviors change over time, are representative of many real-world systems. Graphical modeling has become particularly attractive over the last few years with the advent of software packages, such as Simulink®, made by The MathWorks, Inc. of Natick Mass., LabVIEW®, made by National Instruments Corporation of Austin, Tex., and the like. Simulink® provides sophisticated software platforms with a rich suite of support tools that makes the analysis and design of dynamic systems efficient, methodical, and cost-effective.
A dynamic system (either natural or man-made) is a system whose response at any given time is a function of its input stimuli, its current state, and the current time. Such systems range from simple to highly complex systems. Physical dynamic systems include a falling body, the rotation of the earth, bio-mechanical systems (muscles, joints, etc.), bio-chemical systems (gene expression, protein pathways), weather and climate pattern systems, etc. Examples of man-made or engineered dynamic systems include: a bouncing ball, a spring with a mass tied on an end, automobiles, airplanes, control systems in major appliances, communication networks, audio signal processing, nuclear reactors, a stock market, etc.
Professionals from diverse areas such as engineering, science, education, and economics build mathematical models of dynamic systems in order to better understand system behavior as it changes with the progression of time. The mathematical models aid in building “better” systems, where “better” may be defined in terms of a variety of performance measures such as quality, time-to-market, cost, speed, size, power consumption, robustness, etc. The mathematical models also aid in analyzing, debugging and repairing existing systems (be it the human body or the anti-lock braking system in a car). The models may also serve an educational purpose of educating others on the basic principles governing physical systems. The models and results are often used as a scientific communication medium between humans. The term “model-based design” is used to refer to the use of graphical models in the development, analysis, and validation of dynamic systems.
Dynamic systems are typically modeled in model environments as sets of differential, difference, and/or algebraic equations. At any given instant of time, these equations may be viewed as relationships between the system's output response (“outputs”), the system's input stimuli (“inputs”) at that time, the current state of the system, the system parameters, and time. The state of the system may be thought of as a numerical representation of the dynamically changing configuration of the system. For instance, in a physical system modeling a simple pendulum, the state may be viewed as the current position and velocity of the pendulum. Similarly, a signal-processing system that filters a signal would maintain a set of previous inputs as the state. The system parameters are the numerical representation of the static (unchanging) configuration of the system and may be viewed as constant coefficients in the system's equations. For the pendulum example, a parameter is the length of pendulum and for the filter example; a parameter is the values of the filter taps.
Generally, graphical analysis and modeling methods, such as the block diagram method, are used in modeling for design, analysis, and synthesis of engineered systems. The visual representation allows for a convenient interpretation of model components and structure and provides a quick intuitive notion of system behavior.
During the course of modeling and simulation, it is often desirable to be able to observe particular data values at certain locations of the model, or to observe how data is transformed through the model. Examples of such data values include signal values, states, work areas, and parameters. Signal displays used in conjunction with a system-level design environment, such as Simulink®, often require multiple display mechanisms to be associated simultaneously with multiple signals to monitor the progress of a model at various points of interest. Currently, block diagram environments offer “scope” blocks to be used in such situations, with each scope connected to a signal of interest in the model. Alternatively, environments such as Real-Time Workshop® (manufactured by The MathWorks, Inc. of Natick Mass.) offer interfaces to various data values of the model, such that an individual can non-intrusively observe the data values.
In many systems, the dynamic range of values appearing within the system is of interest when verifying operation of the system. For example, some system components which take as input numeric values that change over time may operate properly only if the inputs fall within a prescribed numerical range; system performance may be negatively impacted if the values fall outside the range. In this example, knowledge of the dynamic range of input values under situations of interest is an important characterization of the system.
Dynamic range is a ratio of the maximum data value to the minimum data value. Typically, mechanisms used to retain values within a dynamic system have associated with them limits on their maximum dynamic range. The dynamic range limit can arise from several sources: constraints imposed on system components such that they operate within a prescribed specification, for interoperability, safety, or performance reasons; a physical limitation on the operation of an analog system component, such as saturation limits on an analog amplifier; or storage considerations of digital system components, whereby values can be accurately retained only if they fall within prescribed range limits. These examples are representative and by no means exhaustive. Failure to adhere to such dynamic range limits can lead to poor system performance, incorrect system operation, or overall system failure. Assessment of the dynamic range of values occurring within the system is thus of great importance.
However, conventional non-intrusive approaches to observing the various data elements, such as dynamic range, do not allow users to observe the data synchronously with the various execution events in the block-diagram or other operating model. Such synchrony is necessary in many scenarios because data values may be not be in a deterministic observable state at all times during model execution. An example of such a scenario is when a signal memory location is reused by multiple blocks for efficiency reasons. Furthermore, allowing synchronous observation of the data also ensures that observers of the data are operating optimally, for example when the data values are refreshed.